这道题的状态挺难设计的。。。
令 为石子的总数,那么操作次数最多为
如果石子数量全不为一,那么先手必胜的条件为 为奇数,因为他一定可以保证操作 次。
An Ac a day, keeps the doctor away!
这道题的状态挺难设计的。。。
令 s 为石子的总数,那么操作次数最多为 s+(n−1)
如果石子数量全不为一,那么先手必胜的条件为 s+(n−1) 为奇数,因为他一定可以保证操作 s+(n−1) 次。
首先有一个非常 naive 的 O(n2) dp。
令 dpi 表示到第 i 座岛的最大收益,那么有:
令 di 为工厂 i 到工厂 n (山底)的距离, dpi 为在第 i 个工厂建仓库的最小花费。
因为只能向下运,所以第 n 个工厂必须建仓库存放它自己的产品,答案便为 dpn
边界条件 dp0 为不建仓库的花费。
dp[t][i]=max{dp[t−1][j]+sj(si−sj)}
可以看出,选出区间的端点大小必须相同,不然可以将一端分在其他区间里,答案不会更劣。
令 dpi 表示前 i 个贝壳能得到的最大柠檬数, posi 表示第 i 个贝壳是第几个这种颜色的贝壳。
那么有转移:
dp[i][j]=min(dp[i−1][k]+(Sumj−Sumk)2) (0≤k<j)